package model

type UserCreateRequest struct {
	Id          int64  `json:"id"`
	Username    string `json:"user_name"`
	Password    string `json:"password"`
	Salt        string `json:"salt"`
	Nickname    string `json:"nickname"`
	Email       string `json:"email"`
	Phone       string `json:"phone"`
	RoleID      int64  `json:"role_id"`
	Status      int    `json:"status"`
	ActiveState int    `json:"active_state"`
	LastLoginAt int64  `json:"last_login_at"`
	CreatedAt   int64  `json:"created_at"`
	UpdatedAt   int64  `json:"updated_at"`
}
type UserUpdateRequest struct {
	Id          int64   `json:"id"`
	Username    *string `json:"username"`
	Password    *string `json:"password"`
	Salt        *string `json:"salt"`
	Nickname    *string `json:"nickname"`
	Email       *string `json:"email"`
	Phone       *string `json:"phone"`
	RoleID      *int64  `json:"role_i_d"`
	Status      *int    `json:"status"`
	ActiveState *int    `json:"active_state"`
	LastLoginAt *int64  `json:"last_login_at"`
	CreatedAt   *int64  `json:"created_at"`
	UpdatedAt   *int64  `json:"updated_at"`
}
type UserListRequest struct {
	Id          int64   `json:"id"`
	Username    *string `json:"username"`
	Password    *string `json:"password"`
	Salt        *string `json:"salt"`
	Nickname    *string `json:"nickname"`
	Email       *string `json:"email"`
	Phone       *string `json:"phone"`
	RoleID      *int64  `json:"role_i_d"`
	Status      *int    `json:"status"`
	ActiveState *int    `json:"active_state"`
	LastLoginAt *int64  `json:"last_login_at"`
	CreatedAt   *int64  `json:"created_at"`
	UpdatedAt   *int64  `json:"updated_at"`
	Index       int     `json:"index"`
	Size        int     `json:"size"`
}
type UserListResponse struct {
	Total int         `json:"total"`
	List  []*UserInfo `json:"list"`
}
type UserInfoRequest struct {
	Id       int64  `json:"id"`
	UserName string `json:"user_name"`
	Email    string `json:"email"`
	Phone    string `json:"phone"`
}
type UserInfo struct {
	Id          int64  `json:"id"`
	Username    string `json:"username"`
	Password    string `json:"password"`
	Salt        string `json:"salt"`
	Nickname    string `json:"nickname"`
	Email       string `json:"email"`
	Phone       string `json:"phone"`
	RoleID      int64  `json:"role_i_d"`
	Status      int    `json:"status"`
	ActiveState int    `json:"active_state"`
	LastLoginAt int64  `json:"last_login_at"`
	CreatedAt   int64  `json:"created_at"`
	UpdatedAt   int64  `json:"updated_at"`
}
type UserDeleteRequest struct {
	Id int64 `json:"id"`
}

// UserLoginReq 登录
type UserLoginReq struct {
	Phone    string `json:"phone"`
	Password string `json:"password"`
	UserName string `json:"user_name"`
	Email    string `json:"email"`
}

type UserLoginResp struct {
	Token string `json:"token"`
}

// UserRefreshTokenReq 刷新token
type UserRefreshTokenReq struct {
	Token string `json:"token"`
}

type UserRefreshTokenResp struct {
	Token string `json:"token"`
}
